namespace Acme.ELeMe.SDK.Response;

public class OrderReverseQueryResult
{
    public string? order_id { get; set; }
    public long? remain_total_price { get; set; }
    public long? remain_user_total_amount { get; set; }
    public long? remain_discount_total_amount { get; set; }
    public long? merchant_income { get; set; }
    public long? commission_amount { get; set; }
    public long? settled_merchant_commission_amount { get; set; }
    public long? base_logistics_amount { get; set; }
    public long? pay_channel_fee { get; set; }
    public List<ReverseOrderList>? reverse_order_list { get; set; }
}

public class ReverseOrderList
{
    public string? order_id { get; set; }
    public string? refund_order_id { get; set; }
    public string? idempotent_id { get; set; }
    public string? operator_role { get; set; }
    public string? scene { get; set; }
    public long? last_refund_status { get; set; }
    public OrderRefundStatus? refund_status { get; set; }
    public long? whether_return_goods { get; set; }
    public long? last_return_goods_status { get; set; }
    public OrderReturnGoodsStatus? return_goods_status { get; set; }
    public long? apply_refund_user_amount { get; set; }
    public long? refund_user_amount { get; set; }
    public long? refund_reason_code { get; set; }
    public string? refund_reason_code_desc { get; set; }
    public string? refund_reason_content { get; set; }
    public List<string?>? image_list { get; set; }
    public long? is_refund_all { get; set; }
    public long? apply_time { get; set; }
    public long? update_time { get; set; }
    public ReverseDiscountDetail? discount_detail { get; set; }
    public RefundShopCardDetail? refund_shop_card_detail { get; set; }
    public ReturnGoodsInfo? return_goods_info { get; set; }
    public List<SubReverseOrderList>? sub_reverse_order_list { get; set; }
}

public class ReverseDiscountDetail
{
    public long? total_price { get; set; }
    public long? discount_total_amount { get; set; }
    public long? merchant_discount_amount { get; set; }
    public long? platform_discount_amount { get; set; }
    public long? agent_discount_amount { get; set; }
    public long? user_discount_amount { get; set; }
}

public class RefundShopCardDetail
{
    public long? refundShopCardPrice { get; set; }
    public long? baseShopCardPrice { get; set; }
    public long? giveShopCardPrice { get; set; }
    public long? platformGiveShopCardRate { get; set; }
    public long? shopGiveShopCardRate { get; set; }
}

public class ReturnGoodsInfo
{
    public long? return_goods_type { get; set; }
    public long? self_return_type { get; set; }
    public long? expect_pick_up_start_time { get; set; }
    public long? expect_pick_up_end_time { get; set; }
    public string? pick_up_address { get; set; }
    public string? contact_name { get; set; }
    public string? contact_phone { get; set; }
    public string? privacy_contact_phone { get; set; }
    public long? send_off_time { get; set; }
    public string? logistics_order_id { get; set; }
}

public class SubReverseOrderList
{
    public long? refund_order_id { get; set; }
    public long? apply_quantity { get; set; }
    public long? refund_quantity { get; set; }
    public long? refund_weight { get; set; }
    public long? apply_refund_user_amount { get; set; }
    public long? refund_user_amount { get; set; }
    public long? fund_calculate_type { get; set; }
    public long? last_refund_status { get; set; }
    public long? refund_status { get; set; }
    public long? apply_refund_time { get; set; }
    public ReverseDiscountDetail? discount_detail { get; set; }
    public string? sub_biz_order_id { get; set; }
    public long? platform_sku_id { get; set; }
    public string? custom_sku_id { get; set; }
    public string? custom_sku_spec_id { get; set; }
    public string? upc { get; set; }
    public string? sku_name { get; set; }
    public long? commodity_type { get; set; }
    public string? virtual_type { get; set; }
    public bool? free_gift { get; set; }
    public List<string>? gift_related_sub_biz_order_id_list { get; set; }
    public bool? is_combine { get; set; }
    public ReversePackageSettle? reverse_package_settle { get; set; }
}

public class ReversePackageSettle
{
    public bool? is_platform_pkg_fee { get; set; }
    public long? platform_order_fee { get; set; }
    public long? merchant_total_fee { get; set; }
    public long? merchant_order_fee { get; set; }
    public long? merchant_goods_fee { get; set; }
}